java mysql处理带单引号(')、反斜杠(\)等问题

您所在的位置:网站首页 java mysql查询语句 java mysql处理带单引号(')、反斜杠(\)等问题

java mysql处理带单引号(')、反斜杠(\)等问题

2023-10-21 07:44| 来源: 网络整理| 查看: 265

项目中遇到内容是文本,可以随意输入各种字符,比如单引号(')、反斜杠(\)等

 

一、单引号问题(')

如果不处理,在查询时会出现如下的情况:

select * from table where a = 'let's go'

这样的sql会导致语句错误

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's go%'' at line 1

对此,有两种处理方:

1.把需要的文本内容replace就可以了

a = a.replaceAll("'", "''");

或者使用commons-lang-2.6.jar中的StringEscapeUtils.escapeSql方法,使用如下:

a = StringEscapeUtils.escapeSql(a);

2.把需要的文本内容中出现的单引号(')进行转义

a = a.replaceAll("'","\\'");

 

二、反斜杠问题(\)

因为知道他代表转义,所以将转义符"\"增加为"\\",代码如下:假如字符串str含有反斜杠,则str=str.replaceAll("\\\\", "\\\\\\\\")。

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3